package com.jindy.module.oaServiceApproval.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jindy.activiti.domain.ProcessEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jindy.common.annotation.Excel;

/**
 * 物资及服务需求审批对象 sy_oa_service
 * 
 * @author jindy
 * @date 2023-06-02
 */
public class SyOaService extends ProcessEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增id */
    private Long id;

    /** 申请事由 */
    @Excel(name = "申请事由")
    private String reason;

    /** 用途 */
    @Excel(name = "用途")
    private String useto;

    /** 申请人电话 */
    @Excel(name = "申请人电话")
    private String telephone;

    /** 需求类别 */
    @Excel(name = "需求类别")
    private String requireType;

    /** 需求明细表id */
    @Excel(name = "需求明细表id")
    private String requireDetailIds;

    /** 总计金额 */
    @Excel(name = "总计金额")
    private String totalMoney;

    /** 交付日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交付日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 需求支援部门id */
    @Excel(name = "需求支援部门id")
    private Long deptId;

    /** 需求支援部门名称 */
    @Excel(name = "需求支援部门名称")
    private String deptName;

    /** 样品图片 */
    @Excel(name = "样品图片")
    private String sampleImage;

    /** 申请人id */
    @Excel(name = "申请人id")
    private String applyUserId;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applyUserName;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 流程实例ID */
    @Excel(name = "流程实例ID")
    private String instanceId;

    /** 流程定义key */
    @Excel(name = "流程定义key")
    private String processKey;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private List<SyRequireDetail> syRequireDetailList;

    /** 流水单号 */
    @Excel(name = "流水单号")
    private String serialNum;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private String businessStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setUseto(String useto) 
    {
        this.useto = useto;
    }

    public String getUseto() 
    {
        return useto;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setRequireType(String requireType) 
    {
        this.requireType = requireType;
    }

    public String getRequireType() 
    {
        return requireType;
    }
    public void setRequireDetailIds(String requireDetailIds) 
    {
        this.requireDetailIds = requireDetailIds;
    }

    public String getRequireDetailIds() 
    {
        return requireDetailIds;
    }
    public void setTotalMoney(String totalMoney) 
    {
        this.totalMoney = totalMoney;
    }

    public String getTotalMoney() 
    {
        return totalMoney;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setSampleImage(String sampleImage) 
    {
        this.sampleImage = sampleImage;
    }

    public String getSampleImage() 
    {
        return sampleImage;
    }
    public void setApplyUserId(String applyUserId) 
    {
        this.applyUserId = applyUserId;
    }

    public String getApplyUserId() 
    {
        return applyUserId;
    }
    public void setApplyUserName(String applyUserName) 
    {
        this.applyUserName = applyUserName;
    }

    public String getApplyUserName() 
    {
        return applyUserName;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setInstanceId(String instanceId) 
    {
        this.instanceId = instanceId;
    }

    public String getInstanceId() 
    {
        return instanceId;
    }
    public void setProcessKey(String processKey) 
    {
        this.processKey = processKey;
    }

    public String getProcessKey() 
    {
        return processKey;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setSerialNum(String serialNum) 
    {
        this.serialNum = serialNum;
    }

    public String getSerialNum() 
    {
        return serialNum;
    }
    public void setBusinessStatus(String businessStatus) 
    {
        this.businessStatus = businessStatus;
    }

    public String getBusinessStatus() 
    {
        return businessStatus;
    }

    public List<SyRequireDetail> getSyRequireDetailList() {
        return syRequireDetailList;
    }

    public void setSyRequireDetailList(List<SyRequireDetail> syRequireDetailList) {
        this.syRequireDetailList = syRequireDetailList;
    }

    @Override
    public String toString() {
        return "SyOaService{" +
                "id=" + id +
                ", reason='" + reason + '\'' +
                ", useto='" + useto + '\'' +
                ", telephone='" + telephone + '\'' +
                ", requireType='" + requireType + '\'' +
                ", requireDetailIds='" + requireDetailIds + '\'' +
                ", totalMoney='" + totalMoney + '\'' +
                ", endTime=" + endTime +
                ", deptId=" + deptId +
                ", deptName='" + deptName + '\'' +
                ", sampleImage='" + sampleImage + '\'' +
                ", applyUserId='" + applyUserId + '\'' +
                ", applyUserName='" + applyUserName + '\'' +
                ", applyTime=" + applyTime +
                ", instanceId='" + instanceId + '\'' +
                ", processKey='" + processKey + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", syRequireDetailList=" + syRequireDetailList +
                ", serialNum='" + serialNum + '\'' +
                ", businessStatus='" + businessStatus + '\'' +
                '}';
    }
}
